package com.health.medicine.model.dto.medicine;


import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

import java.time.LocalDateTime;
import java.util.Date;

/**
 * @author zhexueqi
 * @ClassName TransportGoodsRequest
 * @since 2024/8/31    20:22
 */
@Data
public class TransportGoodsRequest {

    /**
     * 用户私钥
     */
    @NotBlank(message = "不能为空")
    @Schema(description = "用户私钥")
    private String privateKey;

    /**
     * 运输记录唯一标识
     */
    @NotNull
    @Schema(description = "运输记录唯一标识")
    private Long transportRecordId;

    /**
     * 溯源码ID(由生产商生成)
     */
    @NotBlank(message = "不能为空")
    @Schema(description = "溯源码ID(由生产商生成)")
    private String traceId;

    /**
     * 关联车辆的ID
     */
    @NotNull
    @Schema(description = "关联车辆的ID")
    private Long vehicleId;


    /**
     * 起始地点
     */
    @NotNull
    @Schema(description = "起始地点")
    private String startLocation;

    /**
     * 出发时间
     */
    @NotNull
    @Schema(description = "出发时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime departureTime;

    /**
     * 到达时间
     */
    @NotNull
    @Schema(description = "到达时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private LocalDateTime arrivalTime;

    /**
     * 运输状态
     */
    @NotNull
    @Schema(description = "运输状态")
    private Integer status;
}
